home *** CD-ROM | disk | FTP | other *** search
/ Business Assistant / Business Assistant.iso / indus / auto_inv / inv_0600.prg < prev    next >
Text File  |  1991-08-07  |  9KB  |  347 lines

  1. *--------------------------------------------------------------------------
  2. * Program KEV_0600 - Print Invoice Kevins Subaru Invoicing
  3. *                       (c) 1989 Systematics Consulting, Inc.
  4. *--------------------------------------------------------------------------
  5.  
  6. SET TALK OFF
  7. SET ECHO OFF
  8. SET STATUS OFF
  9. CLOSE ALL
  10.  
  11. ANSWER = " "
  12.  
  13. SELECT 1
  14. USE KEV_MSTR INDEX KEV_IDX1
  15. SELECT 2
  16. USE KEV_LBOR INDEX KEV_IDX2
  17. SELECT 3
  18. USE KEV_PART INDEX KEV_IDX3
  19.  
  20.  
  21.   CLEAR
  22.  
  23. DO WHILE .T.
  24.  
  25. SELECT 1
  26.  
  27.    @ 24, 10 SAY  "Systematics Consulting, Inc. (303)674-8445 - Program KEV_0600"
  28.    @ 1,  1 SAY  DATE()
  29.    @ 1, 71 SAY  TIME()
  30.    @ 2,  5 TO  5,75 DOUBLE
  31.    @ 3, 15 SAY  "             KEVIN'S  SUBARU                 "
  32.    @ 4, 15 SAY  "          ... PRINT INVOICE ...              "
  33.  
  34. @  8, 12  SAY "ENTER 1 TO LOCATE BY INVOICE NUMBER, 2 TO LOCATE BY NAME:" GET ANSWER
  35. @  7, 5 TO 9, 75
  36. READ
  37. @  8, 1
  38.  
  39. IF ANSWER = "1"
  40.    INV_IN = 0
  41.    @  8, 1
  42.    @  8, 12  SAY "ENTER INVOICE NUMBER TO LOCATE:" GET INV_IN  PICTURE "#####"
  43.    @  7, 5 TO 9, 75
  44.    READ
  45.    LOCATE FOR INV_NO = INV_IN
  46.     IF EOF()
  47.     ANSWER = " "
  48.     @ 8, 12  SAY "REQUESTED RECORD NOT FOUND, PRESS ANY KEY...." GET ANSWER
  49.     CLOSE ALL
  50.     READ
  51.     RETURN TO MASTER
  52.     ENDIF
  53.    EXIT
  54. ENDIF
  55.  
  56.  
  57. IF ANSWER = "2"
  58.    NAME_IN = SPACE(30)
  59.    @  8, 1
  60.    @  8, 12  SAY "ENTER LAST NAME TO LOCATE:" GET NAME_IN
  61.    @  7, 5 TO 9, 75
  62.    READ
  63.    LOCATE FOR UPPER(LASTNAME) = UPPER(NAME_IN)
  64.     IF EOF()
  65.     ANSWER = " "
  66.     @ 8, 12  SAY "REQUESTED RECORD NOT FOUND, PRESS ANY KEY...." GET ANSWER
  67.     CLOSE ALL
  68.     READ
  69.     RETURN TO MASTER
  70.     ENDIF
  71.    EXIT
  72. ENDIF
  73.  
  74. ENDDO
  75.  
  76.    NAME = TRIM(FIRSTNAME) + " " + TRIM(LASTNAME)
  77.  
  78.    @  8, 1
  79.    @  8,  7   SAY "Inv. #"
  80.    @  8, 14   SAY INV_NO PICTURE "#####"
  81.    @  8, 22   SAY NAME
  82.    @  7, 5 TO 9, 75
  83.  
  84.    ANSWER = "Y"
  85.    @  12, 1
  86.    @  12, 12  SAY "PRINT INVOICE FOR ABOVE NAME? (Y/N):" GET ANSWER
  87.    @  11, 5 TO 13, 75
  88.    READ
  89.  
  90. IF UPPER(ANSWER) <> "Y"
  91.  CLOSE ALL
  92.  RETURN TO MASTER
  93.  ENDIF
  94.  
  95.    @  15, 1
  96.    @  15, 14   SAY "PRINTING INVOICE FOR ABOVE CUSTOMER...."
  97.    @  14, 5 TO 16, 75 DOUBLE
  98.  
  99. * ------------- print invoice master information --------
  100.  
  101. SET DEVICE TO PRINT
  102. CLEAR
  103.  
  104. X = 1
  105.  
  106. @ X, 1 SAY "                              KEVIN'S COMPANY, INC."
  107. X = X + 1
  108. @ X, 1 SAY "                    9754 Highway 285, Conifer, Colorado 80433"
  109. X = X + 1
  110. @ X, 1 SAY "                         (303)670-1174      (303)838-4199"
  111. X = X + 1
  112. @ X, 1 SAY "-----------------------------------------------------------------------------"
  113. X = X + 1
  114.  
  115. @ X, 1 SAY "NAME:    " + TRIM(FIRSTNAME) + " " + TRIM(LASTNAME)
  116. @ X, 64 SAY "DATE: "
  117. @ X, 70 SAY DATE
  118. X = X + 1
  119.  
  120. @ X, 1 SAY "ADDRESS: " + TRIM(ADDRESS1) + "   " + TRIM(ADDRESS2)
  121. X = X + 1
  122.  
  123. ZIP1 = STR(ZIP)
  124. @ X, 1 SAY "         " + TRIM(ADDRESS3) + "   " + TRIM(CITY) + ", " + TRIM(STATE) + " " + TRIM(ZIP1)
  125. X = X + 1
  126.  
  127. @ X, 1 SAY "PHONE:   "
  128. @ X,10 SAY AREA PICTURE "###"
  129. @ X,14 SAY "-" + TELE1 + "-" + TELE2
  130. X = X + 1
  131.  
  132. @ X, 1 SAY "CAR TYPE " + CAR_TYPE
  133. X = X + 1
  134.  
  135. @ X, 1 SAY "LICENSE: " + LICENSE
  136. @ X,40 SAY "SPEEDOMETER: "
  137. @ X,54 SAY SPEEDO
  138. X = X + 1
  139.  
  140.  
  141. IF REPAIR1 <> " "
  142.   @ X, 1 SAY "-----------------------------------------------------------------------------"
  143.   X = X + 1
  144.   @ X, 1 SAY "REPAIR INSTRUCTIONS: " + REPAIR1
  145.   X = X + 1
  146.     IF REPAIR2 <> " "
  147.       @ X, 1 SAY REPAIR2
  148.       X = X + 1
  149.     ENDIF
  150.  
  151.     IF REPAIR3 <> " "
  152.       @ X, 1 SAY REPAIR3
  153.       X = X + 1
  154.     ENDIF
  155.  ENDIF
  156.  
  157.  
  158. *------ save amounts from master file before getting detail files---------
  159.  
  160. X_EMS = EMMISSION
  161. X_SUB = SUBLET
  162. X_OIL = OIL
  163. X_TAX = TAX_RATE
  164. INVNO = INV_NO
  165.  
  166. *------------- print parts detail-----------------------------------
  167.  
  168. @ X, 1 SAY "-----------------------------------------------------------------------------"
  169. X = X + 1
  170. @ X, 1 SAY "I hereby authorize the herein repair work to be done along with the necessary"
  171. X = X + 1
  172. @ X, 1 SAY "material and grant you and/or your employees permission to operate the car or"
  173. X = X + 1
  174. @ X, 1 SAY "truck described on streets or highways for the purpose of testing/inspection."
  175. X = X + 1
  176. @ X, 1 SAY "A storage fee of $15.00 per day may be charged for any car or truck left more"
  177. X = X + 1
  178. @ X, 1 SAY "than two weeks after repairs are completed.  An express mechanic's lien is   "
  179. X = X + 1
  180. @ X, 1 SAY "acknowledged to secure the amount of repairs.  The period of limitation of   "
  181. X = X + 1
  182. @ X, 1 SAY "of the lein shall be extended to the maximum period permitted by law.        "
  183. X = X + 1
  184. @ X, 1 SAY "NOT RESPONSIBLE FOR ANY LOSS OR DAMAGE IN CASE OF FIRE, THEFT, OR ANY OTHER  "
  185. X = X + 1
  186. @ X, 1 SAY "CAUSE BEYOND OUR CONTROL.  TERMS: CASH, APPROVED CHECK OR CREDIT CARD.       "
  187. X = X + 1
  188. @ X, 1 SAY "       Signature: _______________________________________________            "
  189. X = X + 1
  190. @ X, 1 SAY "-----------------------------------------------------------------------------"
  191. X = X + 1
  192.  
  193. SELECT 3
  194. LOCATE FOR INV_NO = INVNO
  195.  
  196. @ X,  1 SAY "QTY.     PARTS DESCRIPTION                                 UNIT         COST"
  197. X = X + 1
  198. @ X,  1 SAY "----   -----------------------------------------          --------    --------"
  199. X = X + 1
  200. EXT_COST = 0
  201. PRT_TOTL = 0
  202. LBR_TOTL = 0
  203. INV_TOTL = 0
  204.  
  205. DO WHILE INV_NO = INVNO .AND. .NOT. EOF()
  206.  
  207.      IF PART_QTY > 0
  208.         @ X,  1 SAY PART_QTY PICTURE "###"
  209.        ENDIF
  210.         @ X,  7 SAY PART_DESC
  211.  
  212.      IF PART_COST > 0
  213.         @ X, 59 SAY "$"
  214.         @ X, 60 SAY PART_COST PICTURE "####.##"
  215.         EXT_COST = ROUND(PART_QTY * PART_COST,2)
  216.         PRT_TOTL = PRT_TOTL + EXT_COST
  217.         @ X, 71 SAY "$"
  218.         @ X, 72 SAY EXT_COST PICTURE "####.##"
  219.        ENDIF
  220.         X = X + 1
  221.  
  222.         IF X > 54
  223.           EJECT
  224.           X = 1
  225.           @ X,  1 SAY "QTY.     PARTS DESCRIPTION                                 UNIT         COST"
  226.           X = X + 1
  227.           @ X,  1 SAY "----   -----------------------------------------          --------    --------"
  228.           X = X + 1
  229.         ENDIF
  230.  
  231.         SKIP
  232.     ENDDO
  233.  
  234.  @ X, 45 SAY "PARTS TOTAL -->"
  235.  @ X, 71 SAY "$"
  236.  @ X, 72 SAY PRT_TOTL PICTURE "####.##"
  237.  
  238. *------------- print labor detail-----------------------------------
  239.  
  240.  
  241.  
  242. * @ X, 1 SAY "-----------------------------------------------------------------------------"
  243. X = X + 2
  244.  
  245. IF X > 50
  246.   EJECT
  247.   X = 1
  248.   ENDIF
  249.  
  250. SELECT 2
  251. LOCATE FOR INV_NO = INVNO
  252.  
  253. @ X,  1 SAY "         LABOR DESCRIPTION                                              COST"
  254. X = X + 1
  255. @ X,  1 SAY "       -----------------------------------------                    ----------"
  256. X = X + 1
  257. LBR_TOTL = 0
  258.  
  259. DO WHILE INV_NO = INVNO .AND. .NOT. EOF()
  260.  
  261.         @ X,  7 SAY LABOR_DESC
  262.  
  263.      IF LABOR_COST > 0
  264.         @ X, 71 SAY "$"
  265.         @ X, 72 SAY LABOR_COST PICTURE "####.##"
  266.         LBR_TOTL = LBR_TOTL + LABOR_COST
  267.        ENDIF
  268.         X = X + 1
  269.  
  270.         IF X > 55
  271.         EJECT
  272.         X = 1
  273.         @ X,  1 SAY "         LABOR DESCRIPTION                                              COST"
  274.         X = X + 1
  275.         @ X,  1 SAY "       -----------------------------------------                    ----------"
  276.         X = X + 1
  277.         ENDIF
  278.  
  279.         SKIP
  280.  
  281.  ENDDO
  282.  
  283.  @ X, 45 SAY "LABOR TOTAL -->"
  284.  @ X, 71 SAY "$"
  285.  @ X, 72 SAY LBR_TOTL PICTURE "####.##"
  286.  
  287. X = X+2
  288.  
  289. IF X > 50
  290.   EJECT
  291.   X = 1
  292.   ENDIF
  293.  
  294. TAX_AMT  = PRT_TOTL + X_OIL
  295. TAXES    = ROUND(TAX_AMT * (X_TAX / 100),2)
  296. INV_TOTL = PRT_TOTL + LBR_TOTL + X_EMS + X_OIL + X_SUB + TAXES
  297.  
  298.  @ X, 45 SAY "         OIL ->"
  299.  @ X, 71 SAY "$"
  300.  @ X, 72 SAY X_OIL PICTURE "####.##"
  301.  X = X + 1
  302.  
  303.  @ X, 45 SAY "    TAX RATE ->"
  304.  @ X, 71 SAY "%"
  305.  @ X, 72 SAY X_TAX PICTURE "####.#"
  306.  X = X + 1
  307.  @ X, 45 SAY "AMT. TAXABLE ->"
  308.  @ X, 71 SAY "$"
  309.  @ X, 72 SAY TAX_AMT PICTURE "####.##"
  310.  X = X + 1
  311.  @ X, 45 SAY "     TAXES   ->"
  312.  @ X, 71 SAY "$"
  313.  @ X, 72 SAY TAXES PICTURE "####.##"
  314.  X = X + 1
  315.  @ X, 45 SAY "   EMISSIONS ->"
  316.  @ X, 71 SAY "$"
  317.  @ X, 72 SAY X_EMS PICTURE "####.##"
  318.  X = X + 1
  319.  @ X, 45 SAY "     SUB-LET ->"
  320.  @ X, 71 SAY "$"
  321.  @ X, 72 SAY X_SUB PICTURE "####.##"
  322.  X = X + 2
  323.  @ X, 45 SAY